<?php


namespace Yond\LaravelDomain\Console;

use Illuminate\Console\Command as BaseCommand;
use Illuminate\Filesystem\Filesystem;
use Yond\LaravelDomain\Console\Traits\FileSystemTrait;
use Yond\LaravelDomain\Console\Traits\GetInputTrait;

abstract class Command extends BaseCommand
{
    use GetInputTrait, FileSystemTrait;
    /**
     * @var Filesystem
     */
    protected $files;
    protected $defaultOptions = [];

    public function __construct(Filesystem $files)
    {
        parent::__construct();

        $this->files = $files;

        foreach ($this->defaultOptions as $options) {
            $this->addOption(...array_values($options));
        }
    }
}